#include "../common/common.h"
#include "../STIP/stip.h"
#include "../HOG/HOGcache.h"
#include "../HOF/histogramOfOpticFlow.h"
#if !(defined __CALCULATEFEATURES_HEADER__)
#define __CALCULATEFEATURES_HEADER__ 
//#define MEI
#define HOF
class Features
{
 public:
  Features(const char* _aviFileName, const char* _stipPointsFileName, const char* _hogFeatureFileName, const char * _flowFeatureFileName, const char * _motionEnegryFileName, const char * _featureFileName) ;
  ~Features() ;
  void getFeaturesFromVideo() ;
  void calculateHogFeature() ;
  void combiningFeature() ;
 private:
  STIP::Stip *stipObjectPtr ;
  HOG::HOGCache *HOGObjectPtr ;
  HistogramOfFlow *histogramFlowObjectPtr ;
  std::vector<float> featuresVector ; 
  std::string aviFileName ;
  std::string stipPointsFileName ;
  std::string hogFeatureFileName ; // hog 特征文件名
  std::string flowFeatureFileName ; // hof 特征文件名
  std::string motionEnegryFileName ; // MEI 特征文件名
  std::string featureFileName ; // 合并所有特征的文件名
};


#endif
